//
//  main.m
//  手动引用计数
//
//  Created by apple on 15/8/7.
//  Copyright (c) 2015年 戴维营. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "Animal.h"

int main(int argc, const char * argv[]) {
    @autoreleasepool
    {
      
        NSLog(@"你大爷!");
        
        Animal *animal = [Animal set];
        NSLog(@"%lu",animal.retainCount);
        
        [animal retain];                    //retain  ->  +1;
                                            //autorelease(有延时)/release  -> -1;
                                            //new / alloc  / ->   +1;
                                        //谁创建（拥有），谁释放；
        NSLog(@"%lu",animal.retainCount);
        
//        [animal retain];
//        NSLog(@"%lu",animal.retainCount);
//
        [animal release];
        @autoreleasepool
        {
            
//        [animal release];
            Animal *ani = [Animal new];//对象在自动释放池的释放：首先看哪个释放池离它近，然后在看他的作用域；
            [ani autorelease];
        }
            NSLog(@"@@@@@@@@@@@@@@@@@@@@@@@@@");
        
        for (int i = 0; i < 3; i++)
        {
            [Animal set];
        }
        
        
    }
//    NSLog(@"%lu",animal.retainCount);
    return 0;
}
